import type { ReactNode, ReactElement, CSSProperties } from "react";
import type { AlignType } from "rc-trigger/lib/interface";

type TriggerType = "hover" | "click" | "focus";

export interface TooltipProps {
  overlay: (() => ReactNode) | ReactNode;
  zIndex?: number;
  placement?: string;
  children?: ReactElement;
  getTooltipContainer?: (node: HTMLElement) => HTMLElement;
  trigger?: TriggerType | TriggerType[];
  defaultVisible?: boolean;
  visible?: boolean;
  onVisibleChange?: (v: boolean) => void;
  mouseEnterDelay?: number;
  mouseLeaveDelay?: number;
  overlayClassName?: string;
  overlayInnerStyle?: CSSProperties;
  align?: AlignType;
}
